/**
 * 
 */
package com.xb.cloud.merchantapi.product.service;

import java.math.BigDecimal;
import java.util.List;

import com.xb.cloud.gateway.client.RtnInfo;
import com.xb.cloud.product.merchant.service.client.input.bo.ProductSkuInputBo;
import com.xb.cloud.product.merchant.service.client.input.bo.ProductSkuPicInputBo;

/**
 * @author kexue
 *
 */
public interface ProductSkuManageApiService {

	/**
	 * 获取仓库中sku列表
	 * 
	 * @param isCanSale
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	public RtnInfo getSkuListByIsCanSale(Long endMerchantUserId, byte isCanSale, Integer pageNum,
			Integer pageSize);

	/**
	 * 上架、
	 * 
	 * @return
	 */
	public RtnInfo skuUp(Long endMerchantUserId, Long skuId);

	/**
	 * 下架、
	 * 
	 * @return
	 */
	public RtnInfo skuDown(Long endMerchantUserId, Long skuId);
	
	/**
	 *  修改市场价
	 */
	
	public RtnInfo updatePrice(Long endMerchantUserId,Long skuId,BigDecimal price);
	

	/** 
	 * 修改库存
	 * @param endMerchantUserId
	 * @param skuId
	 * @param num
	 * @return
	 */
	RtnInfo updateStock(Long endMerchantUserId,Long skuId,Long num);
	
	/**
	 * 查看商品的库存信息详情
	 */
	 RtnInfo getStockBoBySkuId(Long endMerchantUserId,Long skuId);

	 //详情
	/**
	 * @param currentMerchantUserId
	 * @param skuId
	 * @return
	 */
	public RtnInfo getSKUDetail(Long skuId);
	
	//价格
	/**
	 * @param currentMerchantUserId
	 * @param skuId
	 * @return
	 */
	public RtnInfo getSKUPrice(Long skuId);

	public RtnInfo skuDelete(Long currentMerchantUserId, Long skuId); 
	
	/**
	 * 更新sku分两个库，
	 * 
	 * @param endMerchantUserBo
	 * @param productId
	 * @param skuPics
	 * @param detailContentJson
	 * @param skuInput
	 * @param priceSale
	 * @param stock:库存
	 * @return
	 */
	public RtnInfo updateProductSku(Long endMerchantUserId, Long productId,  List<ProductSkuPicInputBo> skuPics, String detailContentJson,
			ProductSkuInputBo skuInput, BigDecimal priceSale,BigDecimal BigDecimal,Long stockNum);
	
}
